Modern Communication Systems (EEET 4036), SP5-2015
University of South Australia
Homework Assignment 2
September 10, 2015
This homework assignment has 2 questions. There are 29 marks in total. Note that the questions can be
solved independently.
Your answers must be submitted as a single .pdf file not exceeding 4 pages. You may include plots or
drawings to illustrate your answers, but use them sparingly. Matlab code listings are to be submitted as
.m files. All files, combined into a single .zip file, must be submitted via the course website.
In this homework assignment we consider QAM baseband transmission over a noisy channel with signal
attenuation and phase offsets. A block of (L+K) symbols is transmitted at a symbol rate of Rs = 1/T
symbols per second. The symbols uj with j = 1, 2, . . . , L+K are taken from some QAM constellation
alphabet A. The transmitted waveform is
u(t) =
L
X
+K
j=1
ujp(t – jT), (1)
where p(t) is a unit-energy root Nyquist pulse. The propagating signal is both attenuated and experiences
a phase rotation. The scaled, phase-rotated and noisy received signal can be written as
r(t) = a0u(t)e
i?0 + z(t), (2)
where z(t) models the noise, a0 = 0 is the (real-valued) signal amplitude, and ?0 ? [-p, p) is the phase
offset. The received waveform r(t) is passed through a matched filter q(t) to obtain y(t) = r(t)*q(t). The
matched filter output y(t) is sampled at t = kT, where k = 1, 2, . . . , L+K, resulting in the discrete-time
signal model
yk = a0uke
i?0 + wk, (3)
where yk = y(kT) and where wk are the noise samples. In the following, we will exclusively consider the
discrete-time model in (3).
Signal amplitude a0 and phase offset ?0 are unknown to the receiver and need to be estimated before being
able to recover the transmitted information. For the purpose of estimating the unknown parameters, a
fixed length-L sequence {sk} of pilot symbols that are known to the receiver is transmitted at the start
of the burst (also known as preamble). That is, uk = sk for k = 1, . . . , L, and the remaining K symbols
uk for k = L+1, . . . , L+K are random data symbols.
Q1. In this question you will derive the least squares (LS) estimators of the unknown signal amplitude
a0 and the unknown phase offset ?0.
(a) (5 marks)
Give an expression for the LS objective function S(a, ?) and the corresponding minimisation
problem for estimating both a0 and ?0. Based on these expressions, briefly describe the concept
of LS estimation.
(b) (3 marks)
Derive the LS estimator ˆ? of the phase offset by minimising the objective function S(a, ?)
from (a) with respect to ?.
(c) (6 marks)
Substitute ˆ? from (b) into the objective function S(a, ?) from (a) to obtain the objective
function minimised with respect to the phase offset, i.e.
S(a) = min
??[-p,p)
S(a, ?) = S(a, ?ˆ). (4)
Note that the resulting function S(a) only depends on a single variable a. First simplify S(a)
and then derive the LS estimator ˆa of the signal amplitude by minimising with respect to a.
1
Modern Communication Systems (EEET 4036), SP5-2015
University of South Australia
Now consider the case where the signal amplitude is a0 = 1 such that the signal model (3) simplifies to
yk = uke
i?0 + wk. (5)
As shown in the lecture, the corresponding LS phase estimator is
?ˆ = ?
X
L
k=1
yku
*
k
!
= ?
X
L
k=1
yks
*
k
!
, (6)
where ?(·) denotes the complex argument and where it was taken into account that the L symbols used
by the estimator are preamble symbols uk = sk.
Q2. In this question, you will implement and simulate a transmitter, channel with phase offset and
noise, and receiver as shown in Fig. 1. You will implement the shaded components, but will be
provided with a Matlab implementation of the remaining components. Note that Fig. 1 without
the shaded components is the same setup considered in Q2 of Homework Assignment 1.
Adhere to the Matlab implementation guidelines included at the end of this assignment.
(a) (3 marks)
Extend the provided Matlab implementation by adding the blocks for insertion and removal
of the preamble. Generate a sequence {sk} of L = 50 pilot symbols that are used as preamble
and then append the data symbol sequence {uk} provided by the mapper to this preamble.
Use pilot symbols taken from a 2-PAM (also known as BPSK) constellation A = {-1, +1} (the
data symbols are QPSK modulated). You may either choose a fixed or randomly generated
preamble.
Because the preamble is known to the receiver, it does not carry any user data. The purpose
of the block Remove Preamble is simply to discard the preamble symbols such that only the
data symbol sequence is provided to the LS receiver.
Test your code without noise to ensure that insertion and removal of the preamble is working
correctly.
(b) (3 marks)
Extend your implementation from (a) by introducing a fixed phase offset ?0 chosen from the
interval [-p, p). Inspect the scatter diagram at point B for various offsets and noise levels and
describe your findings.
(c) (4 marks)
Add code to the top-level script from (b) to step through the entire phase offset range from
-p to p in increments of 0.1p and measure the probability of bit error and the probability of
symbol error for each offset. Use a fixed noise level of sigmaw=0.6, which corresponds to a
signal to noise ratio (SNR) of 4.4 dB. For each phase offset, repeatedly transmit blocks with
K = 500 data symbols until 1000 symbol error events occur.
Plot the measured error probabilities as a function of the phase offset ?0. Discuss your observations.
For reference, the theoretical probabilities of bit and symbol error are 4.78% and
9.33% when no phase offset is present.
Mapper Insert
Preamble ×
+
Demapper LS Receiver Remove
Preamble
Phase Offset
Correction
tx bits
A
{uk}
{yk}
B
{dk}
C
{wk}
rx bits
e
i?0
{sk}
Figure 1: System model with phase offset and correction. Double arrows indicate complex signals.
2
Modern Communication Systems (EEET 4036), SP5-2015
University of South Australia
(d) (5 marks)
Add the block Phase Offset Correction to your implementation. To correct the phase offset,
you first need to estimate it. Implement the LS estimator ˆ?, using only the preamble symbols
as shown in (6) (recall that the data symbols are unknown at the receiver). Then use the
estimate ˆ? to correct the received symbol sequence {yk}.
Ensure that the phase offset correction operates as intended by comparing the scatter diagrams
of the symbol sequences before and after correction. Then repeat the simulation from (c) and
plot the measured probabilities of bit and symbol error as a function of the phase offset
?0 ? [-p, p). Compare your observations to those in (c).
Implementation Guidelines
• Write your own Matlab code. Do not submit code downloaded from the internet.
• For all questions that require a Matlab implementation, provide code listings as .m file.
• Implement each block in the diagrams as a dedicated Matlab function. Use function names that
resemble the block names, e.g. PhaseOffsetCorrection for the block ‘Phase Offset Correction’.
• Use a separate top-level script for each part of question Q2, e.g. Q2a.m for part (a).
• Include brief comments describing what the major code components are intended to do.
3
Modern Communication Systems (EEET 4036), SP5-2015
Modern Communication Systems (EEET 4036), SP5-2015
Modern Communication Systems (EEET 4036), SP5-2015
University of South Australia
Homework Assignment 2
September 10, 2015
This homework assignment has 2 questions. There are 29 marks in total. Note that the questions can be
solved independently.
Your answers must be submitted as a single .pdf file not exceeding 4 pages. You may include plots or
drawings to illustrate your answers, but use them sparingly. Matlab code listings are to be submitted as
.m files. All files, combined into a single .zip file, must be submitted via the course website.
In this homework assignment we consider QAM baseband transmission over a noisy channel with signal
attenuation and phase offsets. A block of (L+K) symbols is transmitted at a symbol rate of Rs = 1/T
symbols per second. The symbols uj with j = 1, 2, . . . , L+K are taken from some QAM constellation
alphabet A. The transmitted waveform is
u(t) =
L
X
+K
j=1
ujp(t – jT), (1)
where p(t) is a unit-energy root Nyquist pulse. The propagating signal is both attenuated and experiences
a phase rotation. The scaled, phase-rotated and noisy received signal can be written as
r(t) = a0u(t)e
i?0 + z(t), (2)
where z(t) models the noise, a0 = 0 is the (real-valued) signal amplitude, and ?0 ? [-p, p) is the phase
offset. The received waveform r(t) is passed through a matched filter q(t) to obtain y(t) = r(t)*q(t). The
matched filter output y(t) is sampled at t = kT, where k = 1, 2, . . . , L+K, resulting in the discrete-time
signal model
yk = a0uke
i?0 + wk, (3)
where yk = y(kT) and where wk are the noise samples. In the following, we will exclusively consider the
discrete-time model in (3).
Signal amplitude a0 and phase offset ?0 are unknown to the receiver and need to be estimated before being
able to recover the transmitted information. For the purpose of estimating the unknown parameters, a
fixed length-L sequence {sk} of pilot symbols that are known to the receiver is transmitted at the start
of the burst (also known as preamble). That is, uk = sk for k = 1, . . . , L, and the remaining K symbols
uk for k = L+1, . . . , L+K are random data symbols.
Q1. In this question you will derive the least squares (LS) estimators of the unknown signal amplitude
a0 and the unknown phase offset ?0.
(a) (5 marks)
Give an expression for the LS objective function S(a, ?) and the corresponding minimisation
problem for estimating both a0 and ?0. Based on these expressions, briefly describe the concept
of LS estimation.
(b) (3 marks)
Derive the LS estimator ˆ? of the phase offset by minimising the objective function S(a, ?)
from (a) with respect to ?.
(c) (6 marks)
Substitute ˆ? from (b) into the objective function S(a, ?) from (a) to obtain the objective
function minimised with respect to the phase offset, i.e.
S(a) = min
??[-p,p)
S(a, ?) = S(a, ?ˆ). (4)
Note that the resulting function S(a) only depends on a single variable a. First simplify S(a)
and then derive the LS estimator ˆa of the signal amplitude by minimising with respect to a.
1
Modern Communication Systems (EEET 4036), SP5-2015
University of South Australia
Now consider the case where the signal amplitude is a0 = 1 such that the signal model (3) simplifies to
yk = uke
i?0 + wk. (5)
As shown in the lecture, the corresponding LS phase estimator is
?ˆ = ?
X
L
k=1
yku
*
k
!
= ?
X
L
k=1
yks
*
k
!
, (6)
where ?(·) denotes the complex argument and where it was taken into account that the L symbols used
by the estimator are preamble symbols uk = sk.
Q2. In this question, you will implement and simulate a transmitter, channel with phase offset and
noise, and receiver as shown in Fig. 1. You will implement the shaded components, but will be
provided with a Matlab implementation of the remaining components. Note that Fig. 1 without
the shaded components is the same setup considered in Q2 of Homework Assignment 1.
Adhere to the Matlab implementation guidelines included at the end of this assignment.
(a) (3 marks)
Extend the provided Matlab implementation by adding the blocks for insertion and removal
of the preamble. Generate a sequence {sk} of L = 50 pilot symbols that are used as preamble
and then append the data symbol sequence {uk} provided by the mapper to this preamble.
Use pilot symbols taken from a 2-PAM (also known as BPSK) constellation A = {-1, +1} (the
data symbols are QPSK modulated). You may either choose a fixed or randomly generated
preamble.
Because the preamble is known to the receiver, it does not carry any user data. The purpose
of the block Remove Preamble is simply to discard the preamble symbols such that only the
data symbol sequence is provided to the LS receiver.
Test your code without noise to ensure that insertion and removal of the preamble is working
correctly.
(b) (3 marks)
Extend your implementation from (a) by introducing a fixed phase offset ?0 chosen from the
interval [-p, p). Inspect the scatter diagram at point B for various offsets and noise levels and
describe your findings.
(c) (4 marks)
Add code to the top-level script from (b) to step through the entire phase offset range from
-p to p in increments of 0.1p and measure the probability of bit error and the probability of
symbol error for each offset. Use a fixed noise level of sigmaw=0.6, which corresponds to a
signal to noise ratio (SNR) of 4.4 dB. For each phase offset, repeatedly transmit blocks with
K = 500 data symbols until 1000 symbol error events occur.
Plot the measured error probabilities as a function of the phase offset ?0. Discuss your observations.
For reference, the theoretical probabilities of bit and symbol error are 4.78% and
9.33% when no phase offset is present.
Mapper Insert
Preamble ×
+
Demapper LS Receiver Remove
Preamble
Phase Offset
Correction
tx bits
A
{uk}
{yk}
B
{dk}
C
{wk}
rx bits
e
i?0
{sk}
Figure 1: System model with phase offset and correction. Double arrows indicate complex signals.
2
Modern Communication Systems (EEET 4036), SP5-2015
University of South Australia
(d) (5 marks)
Add the block Phase Offset Correction to your implementation. To correct the phase offset,
you first need to estimate it. Implement the LS estimator ˆ?, using only the preamble symbols
as shown in (6) (recall that the data symbols are unknown at the receiver). Then use the
estimate ˆ? to correct the received symbol sequence {yk}.
Ensure that the phase offset correction operates as intended by comparing the scatter diagrams
of the symbol sequences before and after correction. Then repeat the simulation from (c) and
plot the measured probabilities of bit and symbol error as a function of the phase offset
?0 ? [-p, p). Compare your observations to those in (c).
Implementation Guidelines
• Write your own Matlab code. Do not submit code downloaded from the internet.
• For all questions that require a Matlab implementation, provide code listings as .m file.
• Implement each block in the diagrams as a dedicated Matlab function. Use function names that
resemble the block names, e.g. PhaseOffsetCorrection for the block ‘Phase Offset Correction’.
• Use a separate top-level script for each part of question Q2, e.g. Q2a.m for part (a).
• Include brief comments describing what the major code components are intended to do.
3